package cn.xuguowen.user.designPatten.template.easy2;

/**
 * ClassName: CookedAbstractClass
 * Package: cn.xuguowen.user.designPatten.template.easy2
 * Description:
 * 炒菜抽象类
 * @Author 徐国文
 * @Create 2023/4/24 15:33
 * @Version 1.0
 */
public abstract class CookedAbstractClass {

    /**
     * 模板方法
     * @param vegetanle     蔬菜
     * @param conditioner   调理品
     */
    public final void cookedProcess(String vegetanle,String conditioner) {
        pourOil();

        hotOil();

        pourVegetables(vegetanle);

        pourConditioner(conditioner);

        cooked();
    }

    // 倒油
    public void pourOil() {
        System.out.println("倒油");
    }

    // 热油
    public void hotOil() {
        System.out.println("热油");
    }

    // 倒蔬菜
    abstract void pourVegetables(String arg);

    // 倒调料瓶
    abstract void pourConditioner(String arg);

    // 翻炒
    public void cooked() {
        System.out.println("炒啊炒啊炒熟了");
    }
}
